/*
 * @Author: chen haoxuan
 * @Date: 2021-05-17 15:30:36
 * @LastEditTime: 2021-05-17 15:47:09
 */
// 通过专门定义函数得方法来实现重载
#include<iostream>
using namespace std;
class Complex
{
    public:
        Complex() {real=0;imag=0;}                  // 定义构造函数
        Complex(double r,double i) {real=r;imag=i;} // 构造函数重载
        Complex complex_add(Complex &c2);           // 声明复数相加函数
        void display();                             // 声明输出函数
    private:
        double real;
        double imag;
};
Complex Complex::complex_add(Complex &c2)
{
    Complex c;
    c.real=real+c2.real;
    c.imag=imag+c2.imag;
    return c;
}
void Complex::display()
{
    cout<<"("<<real<<","<<imag<<"i)"<<endl;
}
int main()
{
    Complex c1(3,4),c2(5,-10),c3;
    c3=c1.complex_add(c2);
    cout<<"c1="; c1.display();
    cout<<"c2="; c2.display();
    cout<<"c3="; c3.display();
    system("pause");
    return 0;
}